#include "ThreadPool.hpp"
#include "Task.hpp"
#include <functional>
using namespace my_threadpool;

typedef function<void()> fun;
// int main()
// {
//     // ThreadPool<int> thd;
//     // thd.Run();
//     ThreadPool<task_t>* thd = new ThreadPool<task_t>();
//     thd->Run();
//     int count=5;
//     while(count--)
//     {
//         thd->Push(Download);
//         sleep(2);
//     }
//     thd->Stop();
//     thd->Join();
//     return 0;
// }
int main()
{
    int count=5;
    while(count--)
    {
        //thd->Push(Download);
        ThreadPool<task_t>::GetTreadPool()->Push(Download);
        sleep(1);
    }
    ThreadPool<task_t>::GetTreadPool()->Stop();
    ThreadPool<task_t>::GetTreadPool()->Join();
    return 0;
}